package com.pureut.system.mapper;

import com.pureut.system.domain.PrintDictionary;
import com.pureut.system.domain.SysPrintTemplate;
import com.pureut.system.domain.SysTagSummary;
import com.pureut.system.domain.dto.SysPrintTemplateDto;
import com.pureut.system.domain.vo.SysPrintTemplateVo;

import java.util.List;

/**
 * @Description
 * @Param
 * @Date
 * @Author hl
 **/
public interface SysPrintTemplateMapper {

    /**
     * 打印模板列表
     *
     * @param sysPrintTemplateVo 打印模板信息
     * @return 打印模板集合
     */
    List<SysPrintTemplateDto> selectPrintTemplateList(SysPrintTemplateVo sysPrintTemplateVo);

    /**
     * 新增模板列表
     *
     * @param sysPrintTemplate 打印模板信息
     * @return 1 成功 0 失败
     */
    int insertPrintTemplate(SysPrintTemplate sysPrintTemplate);

    /**
     * 批量删除模板信息
     *
     * @param printIdS id集合
     * @return 1 成功 0 失败
     */
    int deletePrintTemplate(String[] printIdS);

    /**
     * 修改模板信息
     *
     * @param sysPrintTemplate id集合
     * @return 1 成功 0 失败
     */
    int updatePrintTemplateEdit(SysPrintTemplate sysPrintTemplate);

    /**
     * 返回JSON
     *
     * @param printId id集合
     * @return String
     */
    String getPrintTemplateConfig(long printId);

    /**
     * 返回模板字段
     *
     * @param printCorrelation id集合
     * @return SysTagSummary
     */
    List<SysTagSummary> getPrintTemplateDetails(long printCorrelation);

    /**
     * 根据类别查出对应模板列表
     * @param type
     * @return
     */
    List<SysPrintTemplateDto> selectList(int type);

    /**
     * 通过模板id新增字段
     * @param list
     * @return 1 成功 0 失败
     */
    int insertPrintDictionary(List<PrintDictionary> list);

    /**
     * 通过模板id删除字典
     * @param printId
     * @return void
     */
    void deletePrintDictionary(long printId);

    Integer delPrintDictionary(long printCorrelation);
}
